#include <iostream>
#include <cstring>
using namespace std;
template <typename T>
T fun(T a,T b)
{
	return a+b;
}
template <>
char* fun<char*>(char* a,char*b)
{
	char*p=new char(strlen(a)+strlen(b));
	strcpy(p,a);
	strcat(p,b);
	return p;
}
int main()
{
	cout << fun(1.2,1.3) << endl;
	cout << fun(3,4) << endl;
	char a[5]="add";
	char b[5]="123";
	char*c=fun(a,b);
	cout << c << endl;
	return 0;
}
